<!-- saved from url=(0014)about:internet -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>RTW Report - fhan.c</title>
<script language="JavaScript" type="text/javascript" src="rtwreport_utils.js"></script>
</head>
<body bgcolor="#eeeeee" text="#1122aa" onload="try {if (top) { if (top.rtwFileOnLoad) top.rtwFileOnLoad(window.document); else local_onload();}} catch(err) {};">
<p>
<table border="0" cellspacing="0" cellpadding="6" width="100%%" height="100%%"><tr><td width="100%%" valign="top" bgcolor="#ffffff">
<h4>File: <a href="../fhan.c" target="rtwreport_document_frame" id="linkToText_plain">fhan.c</a></h4>
<pre id="RTWcode">
<a name="1"><font color="#888888 "><i>    1   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="2"><font color="#888888 "><i>    2   </i></font></a><font color="#117755"><I> * File: fhan.c</i></font>
<a name="3"><font color="#888888 "><i>    3   </i></font></a><font color="#117755"><I> *</i></font>
<a name="4"><font color="#888888 "><i>    4   </i></font></a><font color="#117755"><I> * MATLAB Coder version            : 2.6</i></font>
<a name="5"><font color="#888888 "><i>    5   </i></font></a><font color="#117755"><I> * C/C++ source code generated on  : 28-Jun-2017 11:24:40</i></font>
<a name="6"><font color="#888888 "><i>    6   </i></font></a><font color="#117755"><I> */</i></font>
<a name="7"><font color="#888888 "><i>    7   </i></font></a>
<a name="8"><font color="#888888 "><i>    8   </i></font></a><font color="#117755"><i>/* Include files */</i></font>
<a name="9"><font color="#888888 "><i>    9   </i></font></a><font color="#992211">#</font><font color="#992211"><b>include</b></font> <font color="#992211">&quot;rt_nonfinite.h&quot;</font>
<a name="10"><font color="#888888 "><i>   10   </i></font></a><font color="#992211">#</font><font color="#992211"><b>include</b></font> <font color="#992211">&quot;fal.h&quot;</font>
<a name="11"><font color="#888888 "><i>   11   </i></font></a><font color="#992211">#</font><font color="#992211"><b>include</b></font> <font color="#992211">&quot;fhan.h&quot;</font>
<a name="12"><font color="#888888 "><i>   12   </i></font></a>
<a name="13"><font color="#888888 "><i>   13   </i></font></a><font color="#117755"><i>/* Function Definitions */</i></font>
<a name="14"><font color="#888888 "><i>   14   </i></font></a>
<a name="15"><font color="#888888 "><i>   15   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="16"><font color="#888888 "><i>   16   </i></font></a><font color="#117755"><I> * % 棒棒法  bang_bang</i></font>
<a name="17"><font color="#888888 "><i>   17   </i></font></a><font color="#117755"><I> * x1(k+1)=x1(k)+h*x2;</i></font>
<a name="18"><font color="#888888 "><i>   18   </i></font></a><font color="#117755"><I> * x2(k+1)=x2(k)-r*u</i></font>
<a name="19"><font color="#888888 "><i>   19   </i></font></a><font color="#117755"><I> * %</i></font>
<a name="20"><font color="#888888 "><i>   20   </i></font></a><font color="#117755"><I> *  d=r*h^2;</i></font>
<a name="21"><font color="#888888 "><i>   21   </i></font></a><font color="#117755"><I> *  a0==h*x2;</i></font>
<a name="22"><font color="#888888 "><i>   22   </i></font></a><font color="#117755"><I> *  y=x1+a0;</i></font>
<a name="23"><font color="#888888 "><i>   23   </i></font></a><font color="#117755"><I> *  a1=sqrt(d*(d+8*abs(y)));</i></font>
<a name="24"><font color="#888888 "><i>   24   </i></font></a><font color="#117755"><I> *  a2=a0+sign(y)(a1-d)/2;</i></font>
<a name="25"><font color="#888888 "><i>   25   </i></font></a><font color="#117755"><I> *  Sy=(sign(y+d)-sign(y-d))/2;fsg</i></font>
<a name="26"><font color="#888888 "><i>   26   </i></font></a><font color="#117755"><I> *  a=(a0+y-a2)*Sy+a2;</i></font>
<a name="27"><font color="#888888 "><i>   27   </i></font></a><font color="#117755"><I> *  Sa=(sign(a+d)-sign(a-d))/2;</i></font>
<a name="28"><font color="#888888 "><i>   28   </i></font></a><font color="#117755"><I> *  fhan=-r(a/d-sign(a))*Sa-r*sign(a);</i></font>
<a name="29"><font color="#888888 "><i>   29   </i></font></a><font color="#117755"><I> *</i></font>
<a name="30"><font color="#888888 "><i>   30   </i></font></a><font color="#117755"><I> *                离散状态</i></font>
<a name="31"><font color="#888888 "><i>   31   </i></font></a><font color="#117755"><I> *  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</i></font>
<a name="32"><font color="#888888 "><i>   32   </i></font></a><font color="#117755"><I> *  fh=fhan(x1(k)-v(k),x2(k),r,h);</i></font>
<a name="33"><font color="#888888 "><i>   33   </i></font></a><font color="#117755"><I> *  x1(k+1)=x1(k)+h*x2(k);</i></font>
<a name="34"><font color="#888888 "><i>   34   </i></font></a><font color="#117755"><I> *  x2(k+1)=x2(k)+h*fh;</i></font>
<a name="35"><font color="#888888 "><i>   35   </i></font></a><font color="#117755"><I> * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</i></font>
<a name="36"><font color="#888888 "><i>   36   </i></font></a><font color="#117755"><I> * %</i></font>
<a name="37"><font color="#888888 "><i>   37   </i></font></a><font color="#117755"><I> * Arguments    : float x1</i></font>
<a name="38"><font color="#888888 "><i>   38   </i></font></a><font color="#117755"><I> *                float x2</i></font>
<a name="39"><font color="#888888 "><i>   39   </i></font></a><font color="#117755"><I> *                float r</i></font>
<a name="40"><font color="#888888 "><i>   40   </i></font></a><font color="#117755"><I> *                float h</i></font>
<a name="41"><font color="#888888 "><i>   41   </i></font></a><font color="#117755"><I> * Return Type  : float</i></font>
<a name="42"><font color="#888888 "><i>   42   </i></font></a><font color="#117755"><I> */</i></font>
<a name="43"><font color="#888888 "><i>   43   </i></font></a><font color="#112266"><b>float</b></font> <a name="fcn_fhan">fhan</a>(<font color="#112266"><b>float</b></font> x1, <font color="#112266"><b>float</b></font> x2, <font color="#112266"><b>float</b></font> r, <font color="#112266"><b>float</b></font> h)
<a name="44"><font color="#888888 "><i>   44   </i></font></a><b>{</b>
<a name="45"><font color="#888888 "><i>   45   </i></font></a>  <font color="#112266"><b>float</b></font> d;
<a name="46"><font color="#888888 "><i>   46   </i></font></a>  <font color="#112266"><b>float</b></font> a0;
<a name="47"><font color="#888888 "><i>   47   </i></font></a>  <font color="#112266"><b>float</b></font> y;
<a name="48"><font color="#888888 "><i>   48   </i></font></a>  <font color="#112266"><b>float</b></font> b_y;
<a name="49"><font color="#888888 "><i>   49   </i></font></a>  <font color="#112266"><b>float</b></font> a2;
<a name="50"><font color="#888888 "><i>   50   </i></font></a>  <font color="#112266"><b>float</b></font> x;
<a name="51"><font color="#888888 "><i>   51   </i></font></a>  <font color="#112266"><b>float</b></font> b_x;
<a name="52"><font color="#888888 "><i>   52   </i></font></a>  <font color="#112266"><b>float</b></font> c_x;
<a name="53"><font color="#888888 "><i>   53   </i></font></a>  <font color="#112266"><b>float</b></font> d_x;
<a name="54"><font color="#888888 "><i>   54   </i></font></a>  <font color="#112266"><b>float</b></font> b_a0;
<a name="55"><font color="#888888 "><i>   55   </i></font></a>  <font color="#112266"><b>float</b></font> e_x;
<a name="56"><font color="#888888 "><i>   56   </i></font></a>  <font color="#112266"><b>float</b></font> f_x;
<a name="57"><font color="#888888 "><i>   57   </i></font></a>  <font color="#112266"><b>float</b></font> c_a0;
<a name="58"><font color="#888888 "><i>   58   </i></font></a>  d = r * (h * h);
<a name="59"><font color="#888888 "><i>   59   </i></font></a>  a0 = h * x2;
<a name="60"><font color="#888888 "><i>   60   </i></font></a>  y = x1 + a0;
<a name="61"><font color="#888888 "><i>   61   </i></font></a>  <font color="#112266"><b>if</b></font> (y &lt; 0.0F) <b>{</b>
<a name="62"><font color="#888888 "><i>   62   </i></font></a>    b_y = -1.0F;
<a name="63"><font color="#888888 "><i>   63   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (y &gt; 0.0F) <b>{</b>
<a name="64"><font color="#888888 "><i>   64   </i></font></a>    b_y = 1.0F;
<a name="65"><font color="#888888 "><i>   65   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (y == 0.0F) <b>{</b>
<a name="66"><font color="#888888 "><i>   66   </i></font></a>    b_y = 0.0F;
<a name="67"><font color="#888888 "><i>   67   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="68"><font color="#888888 "><i>   68   </i></font></a>    b_y = y;
<a name="69"><font color="#888888 "><i>   69   </i></font></a>  <b>}</b>
<a name="70"><font color="#888888 "><i>   70   </i></font></a>
<a name="71"><font color="#888888 "><i>   71   </i></font></a>  a2 = a0 + b_y * ((<a href="rtwtypes_h.html#type_real32_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real32_T');" target="_self"><font color="#1122aa">real32_T</font></a>)sqrt(d * (d + 8.0F * (<a href="rtwtypes_h.html#type_real32_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real32_T');" target="_self"><font color="#1122aa">real32_T</font></a>)fabs(y))) - d) /
<a name="72"><font color="#888888 "><i>   72   </i></font></a>    2.0F;
<a name="73"><font color="#888888 "><i>   73   </i></font></a>  x = y + d;
<a name="74"><font color="#888888 "><i>   74   </i></font></a>  b_x = y - d;
<a name="75"><font color="#888888 "><i>   75   </i></font></a>  <font color="#112266"><b>if</b></font> (x &lt; 0.0F) <b>{</b>
<a name="76"><font color="#888888 "><i>   76   </i></font></a>    c_x = -1.0F;
<a name="77"><font color="#888888 "><i>   77   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (x &gt; 0.0F) <b>{</b>
<a name="78"><font color="#888888 "><i>   78   </i></font></a>    c_x = 1.0F;
<a name="79"><font color="#888888 "><i>   79   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (x == 0.0F) <b>{</b>
<a name="80"><font color="#888888 "><i>   80   </i></font></a>    c_x = 0.0F;
<a name="81"><font color="#888888 "><i>   81   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="82"><font color="#888888 "><i>   82   </i></font></a>    c_x = x;
<a name="83"><font color="#888888 "><i>   83   </i></font></a>  <b>}</b>
<a name="84"><font color="#888888 "><i>   84   </i></font></a>
<a name="85"><font color="#888888 "><i>   85   </i></font></a>  <font color="#112266"><b>if</b></font> (b_x &lt; 0.0F) <b>{</b>
<a name="86"><font color="#888888 "><i>   86   </i></font></a>    d_x = -1.0F;
<a name="87"><font color="#888888 "><i>   87   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (b_x &gt; 0.0F) <b>{</b>
<a name="88"><font color="#888888 "><i>   88   </i></font></a>    d_x = 1.0F;
<a name="89"><font color="#888888 "><i>   89   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (b_x == 0.0F) <b>{</b>
<a name="90"><font color="#888888 "><i>   90   </i></font></a>    d_x = 0.0F;
<a name="91"><font color="#888888 "><i>   91   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="92"><font color="#888888 "><i>   92   </i></font></a>    d_x = b_x;
<a name="93"><font color="#888888 "><i>   93   </i></font></a>  <b>}</b>
<a name="94"><font color="#888888 "><i>   94   </i></font></a>
<a name="95"><font color="#888888 "><i>   95   </i></font></a>  a0 = ((a0 + y) - a2) * ((c_x - d_x) / 2.0F) + a2;
<a name="96"><font color="#888888 "><i>   96   </i></font></a>  x = a0 + d;
<a name="97"><font color="#888888 "><i>   97   </i></font></a>  b_x = a0 - d;
<a name="98"><font color="#888888 "><i>   98   </i></font></a>  <font color="#112266"><b>if</b></font> (a0 &lt; 0.0F) <b>{</b>
<a name="99"><font color="#888888 "><i>   99   </i></font></a>    b_a0 = -1.0F;
<a name="100"><font color="#888888 "><i>  100   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (a0 &gt; 0.0F) <b>{</b>
<a name="101"><font color="#888888 "><i>  101   </i></font></a>    b_a0 = 1.0F;
<a name="102"><font color="#888888 "><i>  102   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (a0 == 0.0F) <b>{</b>
<a name="103"><font color="#888888 "><i>  103   </i></font></a>    b_a0 = 0.0F;
<a name="104"><font color="#888888 "><i>  104   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="105"><font color="#888888 "><i>  105   </i></font></a>    b_a0 = a0;
<a name="106"><font color="#888888 "><i>  106   </i></font></a>  <b>}</b>
<a name="107"><font color="#888888 "><i>  107   </i></font></a>
<a name="108"><font color="#888888 "><i>  108   </i></font></a>  <font color="#112266"><b>if</b></font> (x &lt; 0.0F) <b>{</b>
<a name="109"><font color="#888888 "><i>  109   </i></font></a>    e_x = -1.0F;
<a name="110"><font color="#888888 "><i>  110   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (x &gt; 0.0F) <b>{</b>
<a name="111"><font color="#888888 "><i>  111   </i></font></a>    e_x = 1.0F;
<a name="112"><font color="#888888 "><i>  112   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (x == 0.0F) <b>{</b>
<a name="113"><font color="#888888 "><i>  113   </i></font></a>    e_x = 0.0F;
<a name="114"><font color="#888888 "><i>  114   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="115"><font color="#888888 "><i>  115   </i></font></a>    e_x = x;
<a name="116"><font color="#888888 "><i>  116   </i></font></a>  <b>}</b>
<a name="117"><font color="#888888 "><i>  117   </i></font></a>
<a name="118"><font color="#888888 "><i>  118   </i></font></a>  <font color="#112266"><b>if</b></font> (b_x &lt; 0.0F) <b>{</b>
<a name="119"><font color="#888888 "><i>  119   </i></font></a>    f_x = -1.0F;
<a name="120"><font color="#888888 "><i>  120   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (b_x &gt; 0.0F) <b>{</b>
<a name="121"><font color="#888888 "><i>  121   </i></font></a>    f_x = 1.0F;
<a name="122"><font color="#888888 "><i>  122   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (b_x == 0.0F) <b>{</b>
<a name="123"><font color="#888888 "><i>  123   </i></font></a>    f_x = 0.0F;
<a name="124"><font color="#888888 "><i>  124   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="125"><font color="#888888 "><i>  125   </i></font></a>    f_x = b_x;
<a name="126"><font color="#888888 "><i>  126   </i></font></a>  <b>}</b>
<a name="127"><font color="#888888 "><i>  127   </i></font></a>
<a name="128"><font color="#888888 "><i>  128   </i></font></a>  <font color="#112266"><b>if</b></font> (a0 &lt; 0.0F) <b>{</b>
<a name="129"><font color="#888888 "><i>  129   </i></font></a>    c_a0 = -1.0F;
<a name="130"><font color="#888888 "><i>  130   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (a0 &gt; 0.0F) <b>{</b>
<a name="131"><font color="#888888 "><i>  131   </i></font></a>    c_a0 = 1.0F;
<a name="132"><font color="#888888 "><i>  132   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <font color="#112266"><b>if</b></font> (a0 == 0.0F) <b>{</b>
<a name="133"><font color="#888888 "><i>  133   </i></font></a>    c_a0 = 0.0F;
<a name="134"><font color="#888888 "><i>  134   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="135"><font color="#888888 "><i>  135   </i></font></a>    c_a0 = a0;
<a name="136"><font color="#888888 "><i>  136   </i></font></a>  <b>}</b>
<a name="137"><font color="#888888 "><i>  137   </i></font></a>
<a name="138"><font color="#888888 "><i>  138   </i></font></a>  <font color="#112266"><b>return</b></font> -r * (a0 / d - b_a0) * ((e_x - f_x) / 2.0F) - r * c_a0;
<a name="139"><font color="#888888 "><i>  139   </i></font></a><b>}</b>
<a name="140"><font color="#888888 "><i>  140   </i></font></a>
<a name="141"><font color="#888888 "><i>  141   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="142"><font color="#888888 "><i>  142   </i></font></a><font color="#117755"><I> * File trailer for fhan.c</i></font>
<a name="143"><font color="#888888 "><i>  143   </i></font></a><font color="#117755"><I> *</i></font>
<a name="144"><font color="#888888 "><i>  144   </i></font></a><font color="#117755"><I> * [EOF]</i></font>
<a name="145"><font color="#888888 "><i>  145   </i></font></a><font color="#117755"><I> */</i></font>
<a name="146"><font color="#888888 "><i>  146   </i></font></a></pre>
</td></tr></table>
</p>
</body>
</html>